local ClientOHOH = _G.ClientOHOH;
local M = ClientOHOH.class.new(script, ClientOHOH.files.OHOHOLYBUIBase());
local BigNumberHelper = ClientOHOH.load.BigNumberHelper();
local CallBackManager = ClientOHOH.load.CallBackManager();
local ConnectClass=_G.CommonOHOH.load.Connect();
local FunctionList = ClientOHOH.load.FunctionList();
function InitInsts(ui)
 	ui.insts = {};
	-- ui.insts.root = "ctrl.rootTween"
	ui.insts.close="ctrl.close" --关闭按钮
	-- ui.insts.pop = "ctrl.pop.Frame"
	-- ui.insts.list = "ctrl.list"

	-- ui.insts.allBtn = "ctrl.navBtn.All.btn"
	-- ui.insts.allSelected = "ctrl.navBtn.All.selected"
end

function M.new(...)
	return M(...);
end;

function M.ctor(self)
	InitInsts(self)
		
	--self.CellClickEvent=ConnectClass.new()      -- 单元被点击
	self.NavChangeEvent=ConnectClass.new();
	self.PullDownChangeEvent=ConnectClass.new();
	
	self.EquipEvent=ConnectClass.new();  -- 装备（list）

	self.SearchTxtEvent=ConnectClass.new();
	self.SearchCancelEvent=ConnectClass.new();

	self.CancelShowInfolEvent=ConnectClass.new();

	self.SkinMakeUpEvent=ConnectClass.new() --装扮当前选择，锁定
	self.NewMakeUpEvent=ConnectClass.new() --装扮最新，解锁

    M.super.ctor(self, ClientOHOH:GetPath_Loop("ReplicatedStorage.Resource.UI.CarStoreGui"));

	CallBackManager:AddRbxConnect(self,self.insts.close.Activated, function()
		self.CancelShowInfolEvent:Action()
		self:Hide();
	end);
	
	self:Init()
end;
function M.Init(self)
   	self.TopInfo= require(script.TopInfo).new(self)  --背包，装备数量信息
    self.List= require(script.List).new(self)  --创建列表

	self.LeftInfo= require(script.LeftInfo).new(self)  --创建列表
	self.Display =  require(script.Display).new(self)
   -- self.Details= require(script.Details).new(self) --创建详情页
end

function M.CellClick(self,cell)
	self.List:Change(cell)
	--self.Display:DisplayChange(cell)
end

function M.CellClickDown(self,cell)
	self.Display:DisplayChange(cell)
end
function M.CellCancelSelect(self)
	-- self.List:Change(cell)
	self.Display:DisplayDefault()
end

function M.GetList(self)
	return  self.List
end

function M.dtor(self)
	M.super.dtor(self);
end;
function M.SetDataBase(self,dataBase)
    self.DataBase=dataBase
end
------------------------对外调用接口-----------------------------------------
-- 获取玩家数据库
function M.GetDataBase(self)
	return self.DataBase
 end

 function M.UpdateStoreInfo(self,max)
	self.TopInfo:UpdateStoreInfo(max)
end

-- function M.UpdateEquip(self,equip)
--     self.List:UpdateEquip(equip)
-- end

function M.UpdateHad(self,data)
    self.List:UpdateCell(data.had)
	self.TopInfo:UpdateHad(data.had)
	
	self.Display:UpdateSkin(data.skin)
	self.List:UpdateEquip(data.equip)
	self.Display:UpdateEquip(data.equip)
	
    

end
return M
